package org.msfj.admin.data.service;

import org.msfj.admin.model.Dict;
import org.msfj.admin.vo.DictVo;
import org.msfj.common.base.BaseService;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * @Description: 系统数据字典明细信息Service接口
 * @Author: like
 * @Email: like@deyatong.com
 * @Date: 2017-08-10 17:30:20
 * @Version: 1.0
 * @Created in idea by autoCode
 */
public interface DictService extends BaseService<Dict> {

    /**
     * 根据条件分页查询系统数据字典明细信息列表
     *
     * @param dicVo
     * @param page  当前第几页
     * @param rows  每页多少条记录
     * @return PageInfo<Dict>
     */
    PageInfo<DictVo> getByDic(DictVo dicVo, int page, int rows);

    /**
     * 根据条件查询所有系统数据字典明细信息对象列表
     *
     * @param dicVo
     * @return List<Dict>
     */
    List<DictVo> getAllDic(DictVo dicVo);

    /**
     * 设置vo的其他属性属性
     *
     * @param dict
     * @return DictVo
     */
    DictVo setOtherProperties(Dict dict);

    /**
     * 设置vo的其他属性属性
     *
     * @param dicts
     * @return List<DictVo>
     */
    List<DictVo> setOtherProperties(List<Dict> dicts);

    /**
     * 根据code查询codeText
     *
     * @param code
     * @return
     */
    DictVo getByCode(String code);

    /**
     * 根据字典集合 key 获取集合内的项，返回的数据 map 中的key 为 项的 code，value 是对应的名称
     *
     * @param indexKey
     * @return
     */
    Map<String, String> getAllTextByIndexKey(String indexKey);
}
